#include <bits/stdc++.h>
 
using namespace std;
 
#define LL long long
#define N 100005
int n, in[N], rt;
int tot, nex[N*2], h[N], to[N*2], val[N*2];
int son[N][4], so[N][4], ssum[N];
LL ans, A[N], B[N];
/*
A-> sum
B-> ^2 sum
*/
inline void add(int u, int v, int w) {
    ++tot; nex[tot] = h[u]; h[u] = tot; to[tot] = v; val[tot] = w;
    ++tot; nex[tot] = h[v]; h[v] = tot; to[tot] = u; val[tot] = w;
}
 
inline void dfs(int now, int fa) {
    if(in[now] == 1) {
        ssum[now] = 1;
        return;
    }
    for(int i=h[now]; i; i=nex[i]) if(to[i] != fa) son[now][++son[now][0]] = to[i], so[now][++so[now][0]] = val[i], dfs(to[i], now);
    if(now != rt)  {
        A[now] = A[son[now][1]] + A[son[now][2]] + 1ll * so[now][1] * ssum[son[now][1]] + 1ll * so[now][2] * ssum[son[now][2]];
        B[now] = B[son[now][1]] + 1ll * 2 * so[now][1] * A[son[now][1]] + 1ll * so[now][1] * so[now][1] * ssum[son[now][1]];
        B[now] += B[son[now][2]] + 2ll * so[now][2] * A[son[now][2]] + 1ll * so[now][2] * so[now][2] * ssum[son[now][2]];
        ans += (B[son[now][1]] + 2ll * so[now][1] * A[son[now][1]] + 1ll * so[now][1] * so[now][1] * ssum[son[now][1]]) * ssum[son[now][2]] + 1ll * (B[son[now][2]] + 2ll * so[now][2] * A[son[now][2]] + 1ll * so[now][2] * so[now][2] * ssum[son[now][2]]) * ssum[son[now][1]] + 2ll * (A[son[now][1]] + so[now][1] * ssum[son[now][1]]) * (A[son[now][2]] + so[now][2] * ssum[son[now][2]]);
        ssum[now] = ssum[son[now][1]] + ssum[son[now][2]];
    }
    else {
        B[now] = (B[son[now][1]] + 2ll * so[now][1] * A[son[now][1]] + 1ll*so[now][1] * so[now][1] * ssum[son[now][1]]) * (ssum[son[now][2]] + ssum[son[now][3]]);
        B[now] += (B[son[now][2]] + 2ll * so[now][2] * A[son[now][2]] + 1ll*so[now][2] * so[now][2] * ssum[son[now][2]]) * (ssum[son[now][1]] + ssum[son[now][3]]);
        B[now] += (B[son[now][3]] + 2ll * so[now][3] * A[son[now][3]] + 1ll*so[now][3] * so[now][3] * ssum[son[now][3]]) * (ssum[son[now][1]] + ssum[son[now][2]]);
        ans += B[now];
        //1 2
        ans += 2ll * (A[son[now][1]] + so[now][1] * ssum[son[now][1]]) * (A[son[now][2]] + so[now][2] * ssum[son[now][2]]);
        //1 3
        ans += 2ll * (A[son[now][1]] + so[now][1] * ssum[son[now][1]]) * (A[son[now][3]] + so[now][3] * ssum[son[now][3]]);
        //2 3
        ans += 2ll * (A[son[now][3]] + so[now][3] * ssum[son[now][3]]) * (A[son[now][2]] + so[now][2] * ssum[son[now][2]]);
    }
}
 
int main() {
    scanf("%d", &n);
    for(int i=1; i<n; ++i) {
        int u, v, w; scanf("%d%d%d", &u, &v, &w);
        add(u, v, w);
        in[u]++; in[v]++;
    }
    for(int i=1; i<=n; ++i) if(in[i] == 3) {rt = i; break;}
    dfs(rt, 0);
    printf("%lld\n", ans);
    return 0;
} 
